- stream
- A System.IO.Stream containing the JPEG 2000 file data from which frames are being extracted.
- frames
- Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
Visual Basic (Declaration) | |
---|---|
Overloads Public Function ExtractFramesNativeMemory( _ ByVal stream As Stream, _ ByVal frames As List(Of Integer) _ ) As RasterNativeBuffer |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As Jpeg2000Engine Dim stream As Stream Dim frames As List(Of Integer) Dim value As RasterNativeBuffer value = instance.ExtractFramesNativeMemory(stream, frames) |
C# | |
---|---|
public RasterNativeBuffer ExtractFramesNativeMemory( Stream stream, List<int> frames ) |
C++/CLI | |
---|---|
public: RasterNativeBuffer ExtractFramesNativeMemory( Stream^ stream, List<int>^ frames ) |
Parameters
- stream
- A System.IO.Stream containing the JPEG 2000 file data from which frames are being extracted.
- frames
- Frame indices. A list of integers specifying the indices of the frames to be extracted from the input stream. All indices should be 0-based.
Return Value
A Leadtools.RasterNativeBuffer object that contains a JPEG 2000 file with only the extracted frames.Visual Basic | Copy Code |
---|---|
Private Function ExtractFramesNativeMemoryStreamExample(ByVal frames As List(Of Integer)) As RasterNativeBuffer Dim fs As FileStream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")) Dim engine As New Jpeg2000Engine() Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(fs) For i As Integer = 0 To frames.Count - 1 If (frames(i) >= fileInfo.Frame.GetLength(0)) Then Return RasterNativeBuffer.Empty End If Next i Dim buffer As RasterNativeBuffer = engine.ExtractFramesNativeMemory(fs, frames) ' Clean up fs.Close() Return buffer End Function Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public RasterNativeBuffer ExtractFramesNativeMemoryStreamExample(List<int> frames) { FileStream fs = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx")); Jpeg2000Engine engine = new Jpeg2000Engine(); Jpeg2000FileInformation fileInfo = engine.GetFileInformation(fs); for (int i = 0; i < frames.Count; i++) if (frames[i] >= fileInfo.Frame.GetLength(0)) return RasterNativeBuffer.Empty; RasterNativeBuffer buffer = engine.ExtractFramesNativeMemory(fs, frames); // Clean up fs.Close(); return buffer; } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
. This method is very suitable for server applications where multiple clients request specific frames of a JPEG 2000 file.Instead of decompressing and then recompressing the frames this method copies only the needed frame data, saving the data to a new JPEG 2000 file.
Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7
Reference
Jpeg2000Engine ClassJpeg2000Engine Members
Overload List
AppendFrames
AppendGmlData
ExtractFrames Method
ExtractFramesMemory
ExtractFramesNativeMemory(String, List)
FragmentJpxFile Method
ReadBox
ReadFrames
ReadGmlData
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
JPEG2000 File Comments
JPEG And LEAD File Comments
Programming with JPEG 2000 Features
JPEG 2000 Boxes